package com.bjsxt.shop.users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.shop.common.util.PageInfoUtil;
import com.bjsxt.shop.users.pojo.AUsers;
import com.bjsxt.shop.users.pojo.AUsersAddress;

/**
 * 用户的Service
 * 
 * 一个DAO==一张表 一个Service持有多个DAO的引用 一个Controller持有多个Service引用
 * 
 * @author WangshSxt
 */
public interface IUsersShopService
{
	/*---- 用户地址操作开始 ----*/
	/**
	 * 保存一条用户地址
	 * 
	 * @param usersAddress
	 *            保存的对象
	 * @return json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneUsersAddressService(AUsersAddress usersAddress);

	/**
	 * 更新一条用户地址
	 * 
	 * @param usersAddress
	 * @return
	 */
	JSONObject updateOneUsersAddressService(AUsersAddress usersAddress);
	
	/**
	 * 更新一条用户地址
	 * 
	 * @param usersAddress
	 * @return
	 */
	JSONObject updateBatchUsersAddressService(Map<String, Object> condMap);

	/**
	 * 删除一条用户地址
	 * 
	 * @param usersAddress
	 * @return
	 */
	JSONObject deleteOneUsersAddressService(AUsersAddress usersAddress);

	/**
	 * 查询一条用户地址
	 * 
	 * @param condMap
	 *            查询条件
	 * @return 返回用户地址
	 */
	AUsersAddress findOneUsersAddressService(Map<String, Object> condMap);

	/**
	 * 查询多条用户地址
	 * 
	 * @param pageInfoUtil
	 *            分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap
	 *            查询条件
	 * @return 返回多条记录
	 */
	Map<String, Object> findCondListUsersAddressService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
	/*---- 用户地址操作结束 ----*/

	/*---- 用户操作开始 ----*/
	/**
	 * 保存一条用户
	 * 
	 * @param users
	 *            保存的对象
	 * @return json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneUsersService(AUsers users);

	/**
	 * 更新一条用户
	 * 
	 * @param users
	 * @return
	 */
	JSONObject updateOneUsersService(AUsers users);

	/**
	 * 删除一条用户
	 * 
	 * @param users
	 * @return
	 */
	JSONObject deleteOneUsersService(AUsers users);

	/**
	 * 查询一条用户
	 * 
	 * @param condMap
	 *            查询条件
	 * @return 返回用户
	 */
	AUsers findOneUsersService(Map<String, Object> condMap);

	/**
	 * 查询多条用户
	 * 
	 * @param pageInfoUtil
	 *            分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap
	 *            查询条件
	 * @return 返回多条记录
	 */
	List<AUsers> findCondListUsersService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
	/*---- 用户操作结束 ----*/
}
